[统计学习]第一章基本概念
1. 基本概念
统计学习(statistical learning),谈论的是统计机器学习(statistical machine learning),解决的方式是利用数据,抽取出相关特征,构建数据的模型以发现数据中的知识,并最终对未知数据进行分析和预测。而围绕数据的角度来有一个基本的假设,即建立知识模型的数据和预测分析使用的数据具有相同的性质。而且对于数据
2. 模型分类
围绕统计学习包括的内容分别为模型假设空间、模型选择准则以及模型学习算法,这三个方面对应的统计学习的三个要素为模型、策略以及算法。其中模型从类型角度可以划分为:
概率模型和非概率模型/确定性模型,概率模型是以条件概率 $P(y|X)$ 形式表示(以函数形式来表示即 $y=f(x)$),以监督式学习来看这个结构,它是一个生成式模型。可以理解为需要从数据中学习到相应的参数,以对数据进行预测。非概率模型以函数形式表示 $y=f(X)$ ,从监督式学习的来看它是一个判别式模型。
- 生成式模型:决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型
- 判别式模型:感知机、支持向量机、$k$ 近邻、AdaBoost、$k$ 均值、潜在语义分析、神经网络
此外还有一个特殊的模型逻辑回归模型,它可以用作生成式模型,也可以是作为判别式模型^1。
概率模型的代表是概率图模型,其联合概率分布可以用有向图和无向图表示,其中的例子包括贝叶斯网络、马尔可夫随机场、条件随机场。
线性模型和非线性模型 是否为线性模型的划分依据是模型是否使用的线性函数。
- 线性模型:感知机、线性支持向量机、 $k$ 近邻、$k$ 均值以及潜在语义模型
- 非线性模型:核函数支持向量机、AdaBoost 以及神经网络
参数化模型和非参数化模型 划分的依据是在搭建模型过程中,训练模型的特征维度是否会随着使用的数据量增大而增加。在应用场景中,参数化模型适用于解决简单问题,而解决复杂的问题使用非参数化模型可能会更有效率。
- 参数化模型:感知机、朴素贝叶斯、逻辑回归、$k$ 均值以及高斯混合模型
- 非参数模型:决策树、支持向量机、AdaBoost,$k$近邻、潜在语义分析、概率潜在语义分析以及潜在狄利克雷分配
3. 统计学习三要素
3.1 策略
作为统计学习三要素之一的策略,指的是采用什么样的 criterion 进行学习和选择最优的模型,达到从假设空间中选择“最优”的模型。因此选择 criterion 的过程可以从损失和风险两个角度来度量模型,损失函数用于度量模型单次预测的好坏,风险函数度量模型预测的平均好坏。
3.1.1 损失函数
损失函数(Loss Function)或者叫成本函数(Cost Function),计算的是模型对给定输出结果 $f(x)$ 和真实结果 $y$ 之间的差异程度。常用的损失函数类型:
0-1损失函数
$$
\begin{align}
L(y_i, f(x_i))=
\begin{cases}
1,\ y_i\ne f(x_i) \
0,\ y_i = f(x_i)
\end{cases}
\end{align}
$$
通过比较预测值和实际值是否相等的方式,应用上和分类问题中的评估中有相关性平方损失函数(quadratic loss function)
$$
\begin{align}
L(y_i, f(x_i))=(y_i-f(x_i))^2
\end{align}
$$
计算实际值和预测值之间的距离绝对损失函数(absolute loss function)
$$
L(y_i, f(x_i))=|y_i-f(x_i)|
$$对数损失函数(logarithmic loss function)或对数似然损失函数(log-liklihood loss function)
$$
L(y_i, P(y_i|x_i))=-\log{P(y_i|x_i)}
$$
通常是计算给定输入 $x_i$ 得到 $y_i$ 的概率
⚠️注意,以上 $x_i$ 和 $y_i$ 都是属于随机分布的变量。
3.1.2 风险函数
上面的损失函数是针对的单个输入的角度,但模型的输入和实际输出是随机变量,遵循联合分布 $P(y,X)$ 的期望结果。风险函数即期望损失,是模型 $f(x)$ 在联合分布下 $P(x,y)$ 的平均损失:
$$
\begin{align}
R_{exp}(f) & = E(L(y, f(X)))\
& =\int_{x\times y}L(y,f(x))P(x,y)d_xd_y,
\end{align}
$$
学习的目标是期望能够明确期望损失最小的模型,但实际情况下,联合分布的概率是未知的,不能直接得到期望风险,而模型利用训练数据集得到的平均损失是一种经验风险或称为经验损失。因此为了通过经验风险来估计期望风险的方法之一,是通过大量数据训练的方式是经验风险趋于期望风险。在假设空间、损失函数以及训练数据集一定的情况下,经验风险是确定的,而其优化的方案是通过最小化经验风险的方式来求解最优模型:
$$
\min_{f\in \mathcal{F}}\frac{1}{N}\displaystyle{\sum_{i=1}^N L(y_i, f(x_i))}, \mathcal{F}\text{ 是假设空间}
$$
在小样本的情况下,通过可能并不能通过经验风险来良好估计期望风险,因为会出现过拟合的情况。因此结构风险最小化是另一个监督式学习优化策略,通过在经验风险的基础上添加结构风险(例如添加正则项^2)。在整个模型的最终优化方案变为:
$$
\min_{f\in \mathcal{F}}\frac{1}{N}\displaystyle{\sum_{i=1}^N L(y_i, f(x_i)) +\lambda \mathit{J(f)}}
$$
$\mathit{J}$ 是用于评估模型复杂度,是定义在 $\mathcal{F}$ 下的泛函数, $\lambda$ 一个非负数,它是用于权衡经验风险和模型复杂度。
3.2 模型
监督学习场景下,模型就是指的在数据集下的所有可能的条件概率或者决策函数,而这些所有可能的集合就是模型的假设空间。所谓的数据决定了模型的上限的意思,就是说数据的确定那么模型假设空间也即确定了。
3.3 算法
指学习模型的具体计算方法,主要思考的问题用什么样的计算方法求解最优模型。例如是通过解析解来得到最优化问题解,还是通过数值计算的方式计算得到全局最优解
参考
监督式学习方法分为生成方法和判别方法,前者由根据数据的联合概率分布 $P(X,y)$ ,得到条件概率 $P(y|X)$ 作为数据模型:$P(y|X)=\frac{P(X,y)}{P(X)}$,模型预测是给定输入得到其和输出之间的关系。而判别方法是数据直接学习决策函数 $f(X)$ 或者条件概率 $P(y|X)$ 作为数据模型的方法,模型的预测是给定输入,预测得到相应的输出(没有关心输入和输出之间的关系)。
两者的特点:
- 生成模型:可以还原出联合概率,学习收敛的速度快,存在隐变量时也能得到模型用于预测
- 判别模型:不能还原出联合概率的分布,得到条件概率或者决策函数直接用于预测,通常情况下准确率较高;学习过程需要对数据抽象、以及对数据特征处理,从而能够简化学习问题
监督式学习下生成式模型和判别式模型其他角度认识:
生成模型预测的展开式 $P(y,X)=P(y|X)\times P(X)$ ,可以被看作是判别模型和关于特征的先验概率两个部分,不仅需要解决判别模型的问题还需要解决关于特征的先验模型(通常来看对于分类问题,判别模型优于生成模型;对于小样本时生成模型可能会优于判别模型,相当于加入正则化处理是对 $P(X)$ 的处理)
正则化是用于调整模型复杂度的,最终的目标是降低模型结构风险。经验风险的降低的一个原因是模型复杂度增加,因此添加正则化之后模型最终选择的经验风险和模型复杂度同时较小的模型。
从奥卡姆剃刀原理(Occam’s Razor)的角度来说,能够以简单有效的模型解释数据,这类模型才是最佳模型。从贝叶斯估计的角度来说,
不同概率分布:
数据分布假设:
- 假设的依据是计算的便利性,因此能够提供更好的计算便利性的假设就是可用的
- 数据分布常使用高斯分布的原因,数据抽样过程会服从高斯分布
说明:
- 封面图来自 Charts On Black Wooden Table
- 缩略图来自 Flickr janeqjames